An elastic computing cloud is a computing cloud service which virtualizes a local physical server as multiple virtual servers for use based on virtualization technologies in order to improve resource usage rates and reduce cost. Storage services of virtual servers (i.e., virtual machines) which are virtualized based on an elastic computing cloud technology are block device based remote storage services, which are referred to, in the industry, as elastic block storage.
A remote storage service of a block device is a block-level storage service that is provided based on a block device driver. Local physical servers and/or virtual servers may store data of the servers into a remote storage resource pool in terms of blocks, thereby saving local storage resources. In brief, the remote storage service of the block device provides a service that is similar to a physical hard drive for storing the data of local physical servers and/or virtual servers, and has no limitation on data format and file system format.
Along with the rapid development of the elastic computing cloud technology, the elastic block storage service has a higher criterion for high availability of the remote storage service. Generally, there are tens of thousands of virtual servers that are virtualized based on the elastic computing cloud. These tens of thousands of virtual servers are provided to third parties (such as government departments, traditional large, medium and small sized enterprises, small and medium Internet webmasters, individual users, etc.) for use. A cluster that is formed from multiple virtual servers depends on remote storage services of block devices for operation. The remote storage carries and circulates data of the entire elastic computing cloud system. The availability of the remote storage service is related to the availability of the entire elastic computing cloud system.
When upgrading an elastic computing cloud system that implements data storage based on a remote storage service of a block device, existing technology first needs to notify service users that service will be temporarily unavailable due to an upgrade process, and temporarily suspend services of each virtual server of the entire elastic computing cloud system in order to perform a service upgrade of the storage service (for example, fixing a bug or providing a new function, etc.). After the re-deployed services operate normally, the virtual servers of the entire elastic computing cloud system can be returned to normal operation, thereby completing the upgrade process. The upgrade process prevents a user from continuing to access a Web page using a Web service provided by a virtual server of the elastic computing cloud system, or forces the user to terminate an ongoing distributed computation if the user uses a virtual server of the elastic computing cloud system to perform the distributed computation.
As can be seen, when existing technology upgrades an elastic computing cloud system which implements data storage based on remote storage services of block devices, the associated upgrade process is very complicated. The upgrade process takes a relatively long period of time and generally requires a couple of hours to complete upgrade operations, thus having a relatively low upgrade efficiency. Furthermore, users may be forced to terminate ongoing transactions during the upgrade process, thus failing to ensure provision of high availability of services to the users and deteriorating usage experience of the users.